package studia.figlewicz.math.library;

import java.util.Date;
import java.util.LinkedHashMap;

public class ZmiennaLosowa implements ZmiennaObjasniajaca {

	public ZmiennaLosowa(RozkladZmiennejLosowej rozklad, double parametr1, double parametr2) {
		this.rozklad = rozklad;
		this.parametr1 = parametr1;
		this.parametr2 = parametr2;
		generator = new GeneratorLiczbLosowych();
	}
	
	private GeneratorLiczbLosowych generator;
	public GeneratorLiczbLosowych getGenerator() {
		return generator;
	}
	public void setGenerator(GeneratorLiczbLosowych generator) {
		this.generator = generator;
	}

	private RozkladZmiennejLosowej rozklad;
	public RozkladZmiennejLosowej getRozklad() {
		return rozklad;
	}
	public void setRozklad(RozkladZmiennejLosowej rozklad) {
		this.rozklad = rozklad;
	}

	private double parametr1;
	private double parametr2;
	public double getParametr1() {
		return parametr1;
	}
	public void setParametr1(double parametr1) {
		this.parametr1 = parametr1;
	}
	public double getParametr2() {
		return parametr2;
	}
	public void setParametr2(double parametr2) {
		this.parametr2 = parametr2;
	}

	@Override
	public LinkedHashMap<Date, Double> getPunkty() {
		LinkedHashMap<Date, Double> resoult = null;
		Double liczbaLosowa = null;
		
		if (generator != null) {
			if (rozklad == RozkladZmiennejLosowej.JEDNOSTAJNY)
				liczbaLosowa = generator.getRandomDouble(parametr1,parametr2);
			else if (rozklad == RozkladZmiennejLosowej.NORMALNY)
				liczbaLosowa = generator.getRandomGaussian(parametr1,parametr2);
		}
		
		resoult = new LinkedHashMap<Date, Double>();
		resoult.put(Utils.getDefaultDate(), liczbaLosowa);
		return resoult;
	}
	
}

